<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="./vue.js"></script>
    <script src="./vue-router.js"></script>
    <style>
        /* 当 <router-link>标签被激活时 添加类样式*/
        .active{
            background-color: pink;
            font-size: 30px;
            color: skyblue;
        }

        .v-enter,
        .v-leave-to{
            opacity: 0;
            transform: translateX(140px); 
        }

        .v-enter-active,
        .v-leave-active{
            transition: all 0.2s ease;
        }
    </style>
</head>
<body>
    <div class="" id="app">
        <!-- 路由通过 # 所以得加#浩 -->
        <!-- <a href="#/login">登录</a>
        <a href="#/register">注册</a> -->

        <!-- router 提供 不需要输入#  标签 默认a标签  可以设置 -->
        <!-- 可以传参 -->
        <router-link to="/login?id=10" tag="span">登录</router-link>
        <router-link to="/register" tag="span">注册</router-link>
        <!-- 这个vue-router提供的 路由匹配组件的容器 -->
        <transition mode="out-in">
            <router-view></router-view>
        </transition>

    </div>
    <script>
        var login = {
            template:"<h1>登录---{{this.$route.query.id}}</h1>",
            // 组件的生命周期钩子函数
            created(){
                console.log(this.$route.query.id);
            }
        }
        var register = {
            template:"<h1>注册</h1>",
        }
        // 创建一个路由对象 当导入Vue-router 包后 在window全局对象中  就有了 路由的构造函数 加
        // VueRouter
        // 参数：配置对象
        var routerObj = new VueRouter({
            // routes 表示 【路由匹配规则】
            routes:[
                // 当跳转到login  切换到login组件
                // 当跳转到register 切换到register组件
                // components 必须是组件模板对象 不能是组件名字
                // 类似于 'com1' 只能用于html引用

                // 打开网页 默认登录组件
                // {path:"/login",component:login},  不推荐  原因：url不一致
                // 重定向 实现打开页面 直接显示登录组件
                {path:"/",redirect:"/login"},
                {path:"/login",component:login},
                {path:"/register",component:register}
            ],
            // 设置 <router-link>标签 被激活时的类样式名字  默认router-link-active
            linkActiveClass:"active"
        });

        var vm = new Vue({
            el:"#app",
            data:{},
            methods:{},
            // 将Vue实例于router绑定起来 用来监听url地址的变化
            router:routerObj,
        })
    </script>
</body>
</html>